iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
SideProject30

拿到一支Garmin錶,要怎麼開發app?系列 第 12

[Day-12] Monkey C的那些規則-6-Module

  • 分享至 

  • xImage
  •  

在Monkey C,除了class之外,還有一種東西叫module
根據官方文件的說明,module存在的目的就跟java的package一樣,

java的package跟class的關係是資料夾跟檔案,
在java,可以有多個class跟interface放在一個package裡面,
只要每個程式碼檔案的最上方有加上package xxx;,並且放在相應的目錄結構,
那麼這些檔案就都屬於package xxx

Monkey C 的module跟package的概念相近,都是用來管理跟方便使用程式碼,
Monkey C 的module裡面可以包含數個class、function、變數,甚至其他module。
不太一樣的地方在於,如果你的程式碼要放在module內,
就必須把程式碼用module name{}的方式包起來,如下範例:

module xxx { 
//程式碼 
}

我覺得還滿特別的一點是,Monkey C的程式碼不一定要寫在class裡面,
需要的話也可以直接用module包著各種function或變數,就算沒有class也沒關係。

此外,其他class對module沒有任何存取限制,module也是永遠都public,不能拿修飾子來套用。

如果要寫一個專門拿來給其他class呼叫的class或function,
這時很適合把這個class或function放到module裡面來。

而其他class要使用module的方式也很簡單,使用using就可以引入module來使用了,
如果覺得module名稱太長,也可以加上as,來自訂名稱,如下方範例

using Toybox.System as Sys;

function myFunction() {
    Sys.print("Hello");
}

上一篇
[Day-11] Monkey C的那些規則-5-modifier
下一篇
[Day-13] Monkey C的那些規則-7-callback
系列文
拿到一支Garmin錶,要怎麼開發app?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言